Infrastructure as Code: Managing Servers in the Cloud

Infrastructure as Code: Managing Servers in the Cloud

  • Downloads:4904
  • Type:Epub+TxT+PDF+Mobi
  • Create Date:2021-03-10 03:16:37
  • Update Date:2025-09-07
  • Status:finish
  • Author:Kief Morris
  • ISBN:1491924357
  • Environment:PC/Android/iPhone/iPad/Kindle

Summary

Virtualization, cloud, containers, server automation, and software-defined networking are meant to simplify IT operations。 But many organizations adopting these technologies have found that it only leads to a faster-growing sprawl of unmanageable systems。 This is where infrastructure as code can help。 With this practical guide, author Kief Morris of ThoughtWorks shows you how to effectively use principles, practices, and patterns pioneered through the DevOps movement to manage cloud age infrastructure。

Ideal for system administrators, infrastructure engineers, team leads, and architects, this book demonstrates various tools, techniques, and patterns you can use to implement infrastructure as code。 In three parts, you'll learn about the platforms and tooling involved in creating and configuring infrastructure elements, patterns for using these tools, and practices for making infrastructure as code work in your environment。


Examine the pitfalls that organizations fall into when adopting the new generation of infrastructure technologies
Understand the capabilities and service models of dynamic infrastructure platforms
Learn about tools that provide, provision, and configure core infrastructure resources
Explore services and tools for managing a dynamic infrastructure
Learn specific patterns and practices for provisioning servers, building server templates, and updating running servers

Download

Reviews

Paolo

The main value from the book is in the patterns for transitioning to an automated way of configuring the infrastructure, accompanied by the principles, tactics and experiences to do so。 Although this version of the book had a few examples outdated (at the time of writing this review a second edition recently came up) and the way of doing infrastructure testing changed (diamond instead of pyramid), among other changes; the core is there, and its very valuable。

Michael

Good theoretical overview of the key strategies and techniques to implement an "infra as code"。 This book is easily accessible to a non-expert audience and contains plenty of references if you want to dig further。 Good theoretical overview of the key strategies and techniques to implement an "infra as code"。 This book is easily accessible to a non-expert audience and contains plenty of references if you want to dig further。 。。。more

Anna

Easy to understand overview of cloud infrastructure

Jascha

I must be honest, I was expecting something more technical, hands-on。 It is instead a long discussion about history of cloud and, mainly, how infrastructure evolved from do-it-all-manually to write-code-to-do-it。The author touches many different topics and techs, including AWS, Puppet, Chef, 。。。 but doesnt dive deep into anything。 Mind, I am not saying this is a boring or not useful text。 It a nice introduction and I am sure it would even be better as a talk at the University to students。

Ahmad hosseini

Infrastructure as code is about treating infrastructure as a software system, which means the dynamic infrastructure platform needs to have certain characteristics。 The platform needs to be: •tProgrammable•tOn-demand •tSelf-serviceKief's book is a fundamental work on modern approach to build, run and manage dynamic infrastructure。 In this book, you can find best practices and patterns to build and run a dynamic infrastructure that is based on new infrastructure technology- cloud, virtualization, Infrastructure as code is about treating infrastructure as a software system, which means the dynamic infrastructure platform needs to have certain characteristics。 The platform needs to be: •tProgrammable•tOn-demand •tSelf-serviceKief's book is a fundamental work on modern approach to build, run and manage dynamic infrastructure。 In this book, you can find best practices and patterns to build and run a dynamic infrastructure that is based on new infrastructure technology- cloud, virtualization, and automation。 Book does not down into the details of technical implementation with specific tools and just explains about best practices and patterns。 Author also talks about challenges of dynamic infrastructure and provides advice to dealing with them。This book could be ideal for system administrator, infrastructure engineers, team leaders and architects。 。。。more

Bryan

A bit rudimentary for an O'Reilly book。 Filled in some gaps for me。 A bit rudimentary for an O'Reilly book。 Filled in some gaps for me。 。。。more

Isidro López

Amazing book。 What else? :-p

Asafallenleaf

Very well written and comprehensive book, even if it starts repeating the same concepts all over again after a while, applying them to different topics。 Without all this repetitiveness, it would have been perfect。

Karolis

Time good spend reading this book。 Would recomnend for people into devops or infrastructure automation, or even managers, to see benefits of infrastructure put into code

Miguel Palhas

Overall good concepts and explanations on the first few chapters, although there wasn't anything new for me personallyParts 2 and 3 could actually be described as general best practices for software development, only applied to the instance of infrastructure code。 Again, nothing new for me, since I already use those same practices in my development work。 For that reason I just skimmed throughout most of the book Overall good concepts and explanations on the first few chapters, although there wasn't anything new for me personallyParts 2 and 3 could actually be described as general best practices for software development, only applied to the instance of infrastructure code。 Again, nothing new for me, since I already use those same practices in my development work。 For that reason I just skimmed throughout most of the book 。。。more

Vlad Romanenko

Kief's book is a fundamental work on modern approach to managing infrastructure。 It borrows heavily from software development best practices。 The book clearly outlines good practices and anti-patterns。 However this field is still emerging and changing quickly。 Because of that it wouldn't be practical to give specific advise on implementation of principles described。 This is an exercise left to the reader。 The book provides excellent theory leaving you wanting the same level of practical advice o Kief's book is a fundamental work on modern approach to managing infrastructure。 It borrows heavily from software development best practices。 The book clearly outlines good practices and anti-patterns。 However this field is still emerging and changing quickly。 Because of that it wouldn't be practical to give specific advise on implementation of principles described。 This is an exercise left to the reader。 The book provides excellent theory leaving you wanting the same level of practical advice on implementation of the described principles。 Hopefully this is filled by more books in this space。 。。。more

Tuấn Anh Nguyễn

Good introduction for beginners, but a bit too wordy。

Michael

Good overview and harmonizationThis book provides a nice overview of modern approach to build and run infrastructures。 However, it is little to be gained from it for an experienced developer。 Most things are common knowledge。 Of course any reader would get something new from this book, but time can be better invested。

Peter Sellars

Lots of in-depth information in this book。 Recommend it for anyone interested in learning about Infrastructue as Code

Sundarraj Kaushik

A very nice book to start managing infrastructure as a code。 Has very helpful tips on the strategies to be adopted when doing this。The book does not cover any one tool (Chef, Puppet or any other tool), it merely gives the techniques to be followed to ensure that this is a success。Definitely a very good read。

Eduardo

It is not a bad book at all, but I was hoping for more really。However it would really help you if you are a SysAdmin in a big corporation or the lead of SysAdmins in a big corporation。For small to mid companies or startups you´d fine usefull information, pitfalls to avoid。 But if you are up to date with current state of the art tools and trends you won't nothing new besides some interesting tools (e。g for infrastructure testing) and insights。I'm keeping it in my "take advice" book shelf since it It is not a bad book at all, but I was hoping for more really。However it would really help you if you are a SysAdmin in a big corporation or the lead of SysAdmins in a big corporation。For small to mid companies or startups you´d fine usefull information, pitfalls to avoid。 But if you are up to date with current state of the art tools and trends you won't nothing new besides some interesting tools (e。g for infrastructure testing) and insights。I'm keeping it in my "take advice" book shelf since it really makes for a go-to book for consulting。One thing it felt a bit out of place where the last chapter and some other hints on people management。 Wasn't really the place or in fact I wasn´t the target audience, since I have a dev background and the book explained a great deal of dev practices taken to sysadmins。If you are a dev, it deserves at least a quick look。 If you are a sysadmin still working on bare metal or in pre-cloud big corporations, go read it。 。。。more

Ivan

Подробное введение в современную "облачную" инфраструктуру и того разнообразие инструментов чтобы приложения хорошо масштабировались, были надежными и удобными для разработки。 Все "модные слова" про docker, service discover и т。д объяснены。 Подробное введение в современную "облачную" инфраструктуру и того разнообразие инструментов чтобы приложения хорошо масштабировались, были надежными и удобными для разработки。 Все "модные слова" про docker, service discover и т。д объяснены。 。。。more

Jeremy Huiskamp

I started this just after finishing Continuous Delivery, and was looking for an update dealing with the advances in automatable infrastructure that have happened since CD was published。 I came away a little disappointed, as the book seems to be geared towards bringing operations people to the world of software development, whereas I'm a software developer looking to learn more about infrastructure。 As a result, I found the book to be a relatively simple repetition of things I already know, or th I started this just after finishing Continuous Delivery, and was looking for an update dealing with the advances in automatable infrastructure that have happened since CD was published。 I came away a little disappointed, as the book seems to be geared towards bringing operations people to the world of software development, whereas I'm a software developer looking to learn more about infrastructure。 As a result, I found the book to be a relatively simple repetition of things I already know, or things I had just finished learning from CD。 And to be fair, he does hint at this in the preface。That said, it's still a good book that drives home good points。 The key one is probably that you can and should treat an entire software project as software, regardless of how much hardware is incorporated。 You just have to read a lot to get that drilled in。 。。。more

Daniel Rankov

Too much noise。 There is a lot text and a lot of explanations。 It's not that practical that I expected。 It very good for noobies, because it gives you good overview of the different solutions。 Too much noise。 There is a lot text and a lot of explanations。 It's not that practical that I expected。 It very good for noobies, because it gives you good overview of the different solutions。 。。。more

Emre Sevinç

The fundamental promise of the book can be summarized by the following (page 258)Automate Everything=================1。 Redesign or reconfigure things so the task isn't necessary at all。2。 Implement automation that handles the task transparently, without anyone needing to pay attention。3。 Implement a self-service tool so that the task can be done quickly, by someone who doesn't need to know the details, preferably the user or person who needs it done。4。 Write documentation so that users can easi The fundamental promise of the book can be summarized by the following (page 258)Automate Everything=================1。 Redesign or reconfigure things so the task isn't necessary at all。2。 Implement automation that handles the task transparently, without anyone needing to pay attention。3。 Implement a self-service tool so that the task can be done quickly, by someone who doesn't need to know the details, preferably the user or person who needs it done。4。 Write documentation so that users can easily carry out the task on their own。As usual, things are easier said than done, "Infrastructure as Code: Managing Servers in the Cloud" manages to describe the challenges, as well as some practical methods to build solutions to deliver in today's fast-paced IT infrastructure building and management。After the first few introductory chapters that lay down the basic definitions and context, the author goes on to describe patterns and best practices for building server templates, managing configuration and changes to configuration, as well as the pitfalls you might encounter when you move from a traditional system administration mentality to dynamic, automated "infrastructure as code" perspective。 You might also find the chapters dedicated to testing infrastructure changes, change management pipelines for infrastructure, and continuity for infrastructure particularly useful。If you're building / managing a dynamic and flexible information system infrastructure in the cloud or on premise, regardless of your particular tool choice for automation, you'll find yourself facing the challenges described in this book, and therefore the outlined patterns will apply to your problems to a great extent。 Therefore, I can easily recommend this book to any IT professional in that position。 。。。more

Gary Lang

awesome book

Andrew Hamilton

Good overview of pushing infrastructure as code at an organization。 Not super technical but will give the reader a good overview of different tools and techniques that are useful。 The author gives plenty of helpful examples from his and others' experiences。 Good overview of pushing infrastructure as code at an organization。 Not super technical but will give the reader a good overview of different tools and techniques that are useful。 The author gives plenty of helpful examples from his and others' experiences。 。。。more

Daniel Pryor

I will recommend this book to anyone that is just getting into dynamic infrastructure and wanting to build infrastructure that makes sense。

Vergiliu

Even though most of the ideas are quite implementation agnostic and they are rather higher level than going into the nitty gritty details, the book provides plenty of good approaches to the most commonly encountered situations when migrating from the so-called "iron age" to the much praised "cloud age"。When comparing this book with its period sibling - the SRE book - this feels better put together while aiming to help the readers to take the first steps in migrating their tools, monitoring, prac Even though most of the ideas are quite implementation agnostic and they are rather higher level than going into the nitty gritty details, the book provides plenty of good approaches to the most commonly encountered situations when migrating from the so-called "iron age" to the much praised "cloud age"。When comparing this book with its period sibling - the SRE book - this feels better put together while aiming to help the readers to take the first steps in migrating their tools, monitoring, practices and finally infrastructure to a dynamically provisioned one。For starters in this wide domain I would definitely see this book as a prerequisite for the SRE book。 。。。more

Charles Baker

This is an excellent book。 If so, you may ask why did it take me so long to read it? Well, because reading it depressed me。 My current gig is so far off from the ideals & ideas presented in this book that I just had to take breaks from reading it。 Yes, we're doing the automation sort of, but little to no automated testing。 No real push on automated pipelines。 No real organization change towards "two pizza teams", microservices or "you build it you run it。" That's what depresses me。 We've mostly This is an excellent book。 If so, you may ask why did it take me so long to read it? Well, because reading it depressed me。 My current gig is so far off from the ideals & ideas presented in this book that I just had to take breaks from reading it。 Yes, we're doing the automation sort of, but little to no automated testing。 No real push on automated pipelines。 No real organization change towards "two pizza teams", microservices or "you build it you run it。" That's what depresses me。 We've mostly just taken as Keif Morris terms it, old iron age practices and plopped them down in the cloud。OK enough whining。 The book covers quite well all the aspects of building infrastructure as code on dynamic infrastructure, not down in the deep technical weeds, but deep enough that you understand the concepts, patterns and anti-patterns。 I did very much enjoy it, when I wasn't being depressed, and learned a lot。 。。。more

Yevgeniy Brikman

This is a great read for anyone in Ops, DevOps, or any other discipline that involves to running & maintaining software。 The book covers a lot of ground, both in the infrastructure as code space, and in DevOps generally, and is full of wonderful insights。 The drawback to this broad scope is that there aren't many examples of real code, and the examples that are there tend to be superficial and simple。 There are some subtle concepts that could have been demonstrated by showing real code, but that This is a great read for anyone in Ops, DevOps, or any other discipline that involves to running & maintaining software。 The book covers a lot of ground, both in the infrastructure as code space, and in DevOps generally, and is full of wonderful insights。 The drawback to this broad scope is that there aren't many examples of real code, and the examples that are there tend to be superficial and simple。 There are some subtle concepts that could have been demonstrated by showing real code, but that's probably hard to do in a book that covers so many different topics。Here are some of the key idea in the book:* We've moved from the "Iron Age" of metal servers to the "Cloud Age" of virtual servers。 * Core principles of infrastructure as code: Systems can easily be reproduced; Systems are disposable; Systems are consistent; Processes are repeatable; Design is always changing。* Core practices of infrastructure as code: Use definition files; Self documented systems and processes; Version all the things; Continuously test systems and processes; Small changes rather than batches; Keep services available continuously。* Go further than just preventing a system from breaking; try to build systems that are "antifragile"。 That is, systems that get stronger when under stress。 Just as a muscle gets stronger from frequent exercise, a DevOps team gets strong by frequent deployments。 * Go further than just automating a system; make it "autonomic"。 Just as you have autonomic systems in your body (e。g。 heart rate, breathing) that run and react completely by themselves, while still allowing conscious input, you should have autonomic systems in your software。* An interesting thought exercise on disaster recovery: what would happen to your company if one of the vendors you used was entirely wiped out? What if AWS shut down or raised prices by 100x? What about GitHub? What if they got hacked? Would your business survive?* Successfully using infrastructure as code and adopting DevOps requires a shift in mindset。 The Ops team should no longer act like a gatekeeper or babysitter for production。 Instead, the Ops team is responsible for being experts, setting standards, build tools that others can use to implement those standards, and educating other teams on these standards and tools。 Those other teams are the ones responsible for deploying their code--and, just as importantly, keeping it up and running。 This is obvious in other disciplines。 For example, a security team can't effectively secure your code for you。 You have to do it yourself。 All the security team can do is create tools, teach you to use them, and provide review, auditing, and testing。 Although not as obvious, the same is true with Ops: they can't effectively run your code for you。 Some of my favorite quotes from the book:"Infrastructure as code is an approach to infrastructure automation based on practices from software development。 It emphasizes consistent, repeatable routines for provisioning and changing systems and their configuration。 Changes are made to definitions and then rolled out to systems through unattended processes that include thorough validation。""An operations team should be able to confidently and quickly rebuild any server in their infrastructure。 If any server doesn’t meet this requirement, constructing a new, reproducible process that can build a server to take its place should be a leading priority for the team。""A fundamental difference between the iron age and cloud age is the move from unreliable software, which depends on the hardware to be very reliable, to software that runs reliably on unreliable hardware。""The hallmark of an infrastructure team’s effectiveness is how well it handles changing requirements。""A team’s ability to work with configuration that’s managed internally by a tool is limited to interactions that the tool supports。 Configuration externalized as text files, on the other hand, can be accessed and manipulated by any off-the-shelf tool。 You can edit them with whatever text editor you prefer, manipulate them with common command-line tools, and write your own scripts to manage them。 The ability to use this vast ecosystem of text file–friendly tools to bear on infrastructure configuration gives a team far more control than it can have with a proprietary tool。""You know your infrastructure definition is becoming monolithic when people become afraid to make a change。 When you find yourself considering adding organizational processes to coordinate and schedule changes, stop! There are ways to organize your infrastructure to make it easier and safer to make changes。 Rather than adding organizational and process complexity to manage complex infrastructure designs, redesign the infrastructure to eliminate unnecessary complexity。""The enabling idea of Infrastructure as Code is that the systems and devices used to run software can be treated as if they, themselves, are software。 This makes it possible to use tools and working practices that have been proven in the software development world。""The great thing about CD is that the decision to go live becomes a business decision, not a technical one。 The technical validation has already been done: it happens on every commit。""“DevOops”; the ability to automatically configure many machines at once gives us the ability to automatically break many machines at once。""The big shift is away from working directly on servers and infrastructures, to working on them indirectly。 An infrastructure engineer can no longer just log onto a server to make a change。 Instead, they make changes to the tools and definitions, and then allow the change management pipeline to roll the changes out to the server。 This can be frustrating at first。 It feels like a slower, more complicated way to do something simple。""The aim is to have infrastructure management systems that work autonomically。 In physiology, autonomic functions happen without conscious effort (e。g。, breathing or heart rate)。 You might be able to override some of these (e。g。, by holding your breath)。 But you don’t normally need to think about doing it。 Autonomic automation is the secret to making infrastructure as code work reliably。 When the team finds a new web server configuration option that improves security, they embed that into their automation tooling。 They know that it will be applied to all relevant servers, current and future, without anyone having to think about it again。""When a team adopts infrastructure as code, its members should find themselves spending less time carrying out routine activities, and more time improving the system itself。""An interesting thing about a dynamic infrastructure platform is that it looks a lot like unreliable infrastructure。 Servers routinely disappear and are replaced。 This happens when resources are automatically scaled up and down, and may even happen as a byproduct of the mechanism for making routine changes, deploying software, and running tests。""Ideally, IT systems would be like a consumer automobile。 You buy a new car off the assembly line, and periodically pay to keep it fueled and maintained, occasionally replacing parts as they wear out or fail。 You don’t need to keep the engineers who designed and assembled the car on staff。 In practice, modern IT systems are more like a Formula One race car。 Each one is custom-built, even if they use standard parts and follow common patterns。 It takes continuous work to keep it running well, patched and secure。 And the needs that IT systems must satisfy are constantly changing, as the way technology is used by consumers and businesses is constantly changing。 This in turn means that an organization’s IT systems must constantly change。" 。。。more

Ken Rider

Must read for ITEveryone involved in or with IT today should read this book。 As the industry moves to cloud native applications, so too must the infrastructure supporting it。

Jon Cotton

Very well written。 Comprehensive。 Well laid out and categorized。 The excellent phrasing of concepts and approaches is what I appreciate most in this book over similar technical books。

Tomasz Cholewa

Best book on Infrastructure as Code currently available。

Michele Bariani

(pre-release)